package com.yml.mall.user.dao;

import com.yml.mall.user.pojo.UserDO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

@Repository
@Mapper
public interface UserMapper {
    /**
     * 通过id删除用户
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 新增用户（包括空项）
     * @param record
     * @return
     */
    int insert(UserDO record);

    /**
     * 新增用户（跳过空项）
     * @param record
     * @return
     */
    int insertSelective(UserDO record);

    /**
     * 通过id查找用户
     * @param id
     * @return
     */
    UserDO selectByPrimaryKey(Integer id);

    /**
     * 更新用户（跳过空字段）
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(UserDO record);

    /**
     * 更新用户（包括空字段）
     * @param record
     * @return
     */
    int updateByPrimaryKey(UserDO record);

    /**
     * countByUsername
     * @param username
     * @return
     */
    int countByUsername(String username);

    /**
     * countByEmail
     * @param email
     * @return
     */
    int countByEmail(String email);

    /**
     * selectByUsername
     * @param username
     * @return
     */
    UserDO selectByUsername(String username);

    /**
     * selectByEmail
     * @param email
     * @return
     */
    UserDO selectByEmail(String email);


}